﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

public partial class admin1_index : System.Web.UI.Page
{
    eStoreDataContext db = new eStoreDataContext();
    //protected void Page_PreRender(object sender, EventArgs e)
    //{
    //    rpt_Category.DataSource = db.Categories;
    //    rpt_Category.DataBind();
    //}

    protected void Page_Load(object sender, EventArgs e)
    {
            rpt_Category.DataSource = db.Categories;
            rpt_Category.DataBind();
    }
    // Them moi
    protected void btnInsert_Click(object sender, EventArgs e)
    {
        try
        {
            var cate = new Category
            {
                Name = txt_Name.Text,
                NameVN = txt_NameVN.Text,
                Activated = bool.Parse(radAdd.SelectedValue)

            };
            //2.them vao
            db.Categories.InsertOnSubmit(cate);
            //3. luu
            db.SubmitChanges();
            txt_Name.Text = txt_NameVN.Text = "";
            panel_Add.Visible = false;
            Response.Redirect("index.aspx");
        }
        catch (Exception ex)
        {
            if (ex.Message.Contains("Unique_Name_Cat"))
            {
                Response.Write("<script> alert('Thêm mới thể loại không thành công! Tên tiếng anh đã tồn tại!');</script>");
            }
            if (ex.Message.Contains("Unique_NameVN_Cat"))
            {
                Response.Write("<script> alert('Thêm mới thể loại không thành công! Tên tiếng việt đã tồn tại!');</script>");
            }
        }
    }

    // Xoa
    protected void btnxoa_Click(object sender, EventArgs e)
    {
        int catid = int.Parse(((LinkButton)sender).CommandArgument.ToString());
        //Response.Write("<script>alert("+id+")</script>"); kiem tra id 
        //1. tim
        var cate = db.Categories.Single(c => c.CategoryId == catid);
        int dem = 0;
        foreach (var spe in db.Locations)
        {
            if (spe.CategoryId == catid)
            {
                if (dem > 0)
                    break;
                dem++;
            }
        }
        if (dem == 0)
        {

            //2. Xoa
            db.Categories.DeleteOnSubmit(cate);
            //3. luu
            db.SubmitChanges();
        }
        else
        {
            Response.Write("<script> alert('Xóa thể loại không thành công! Hãy xóa những vùng miền của thể loại này trước!');</script>");
        }
        rpt_Category.DataBind();
    }
    // Chinh sua thong tin
    protected void btnSua_Click(object sender, EventArgs e)
    {
        panel_Add.Visible = false;
        panel_Edit.Visible = true;

        int catid = int.Parse(((LinkButton)sender).CommandArgument.ToString());
        // tim 
        var cate = db.Categories.Single(c => c.CategoryId == catid);
        // load thong tin
        txt_CatId_Edit.Text = catid.ToString();
        txt_Name_Edit.Text = cate.Name;
        txt_NameVN_Edit.Text = cate.NameVN;
        if (cate.Activated == true)
        {
            radEdit.SelectedIndex = 0;
        }
        else
        {
            radEdit.SelectedIndex = 1;
        }


    }
    // luu chinh sua
    protected void btnSaveEdit_Click(object sender, EventArgs e)
    {

        try
        {
            // tim 
            var cate = db.Categories.Single(c => c.CategoryId == int.Parse(txt_CatId_Edit.Text));
            cate.Name = txt_Name_Edit.Text;
            cate.NameVN = txt_NameVN_Edit.Text;
            cate.Activated = bool.Parse(radEdit.SelectedValue);
            //3 Luu
            db.SubmitChanges();
            panel_Edit.Visible = false;
            
        }
        catch (Exception ex)
        {
            if (ex.Message.Contains("Unique_Name_Cat"))
            {
                Response.Write("<script> alert('Chỉnh sửa thể loại không thành công! Tên tiếng anh đã tồn tại!');</script>");
                txt_Name_Edit.Focus();
            }
            if (ex.Message.Contains("Unique_NameVN_Cat"))
            {
                Response.Write("<script> alert('Chỉnh sửa thể loại không thành công! Tên tiếng việt đã tồn tại!');</script>");
                txt_NameVN_Edit.Focus();
            }
        }
        rpt_Category.DataBind();
    }

    protected void lbt_ClosEdit_Click(object sender, EventArgs e)
    {
        panel_Edit.Visible = false;
    }

    protected void lbt_Add_New_Click(object sender, EventArgs e)
    {
        panel_Add.Visible = true;
        panel_Edit.Visible = false;
    }
    protected void lbt_ClosAdd_Click(object sender, EventArgs e)
    {
        txt_Name.Text = txt_NameVN.Text = "";
        panel_Add.Visible = false;
    }

}